AlGorille A Dynamic Distributed Algorithm for Read Write Locks ( extended abstract )
نویسندگان
چکیده
In this paper, a new algorithm that extends Naimi-Trehel token-based mutual exclusion is proposed. Contributions are twofold. First, our algorithm evolves within an changing environment; processes can join and leave the system while the parent tree is in ongoing transformation and, while requests accessing the critical section are inserted. Both the tree structure and the original algorithm are amended. We impose new rules and add new variables to the original structure, so as to maintain the connectivity of the parent tree as well as the Next chain, whatever circumstances. Second, the possibility to share the token between processes is introduced. This allows either multiple concurrent readers or a single writer to enter the critical section. In the Next chain of successive readers, a newly introduced Reading handler ensures that all following requesters for read access may enter the critical section simultaneously, and keeps the token as long as at least one reader is in the critical section. In all cases, our approach can be implemented such that it keeps an average complexity of O(log(n)) messages per request. Key-words: Distributed locks, read-write locks, dynamic locking ∗ This article is accepted for publication in the proceedings of PDP 2012. † LORIA, Nancy, France ‡ University of Science and Technology, Oran, Algeria § INRIA Nancy – Grand Est, France ha l-0 06 41 06 8, v er si on 1 15 N ov 2 01 1 Un algorithme pour la gestion dynamique de verrous lecture/écriture (résumé étendu) Résumé : Nous proposons dans ce papier une extension de l’algorithme d’exclusion mutuelle, à base de jeton de Naimi-Tréhel. Notre contribution se présente sous deux angles différents. Premièrement, notre algorithme progresse dans un environnement inconstant. Les processus peuvent joindre et quitter le système. En même temps, l’arbre parent subit des transformations au fur et à mesure que les requêtes d’accès à la section critique sont insérées. Les modifications portent aussi bien sur l’algorithme que sur la structure arborescente parent ainsi que sur la chaı̂ne Next. De ce fait, Nous imposons de nouvelles règles et de nouvelles variables aux structures de départ, de sorte que la connexité de l’arbre parent ainsi que celle de la chaı̂ne Next soient maintenues. Deuxièmement, nous rendons possible l’agencement du jeton partagé à l’exclusif. Ainsi, la section critique devient accessible, soit par plusieurs lecteurs concurrents soit par un seul écrivain. Dans la chaı̂ne Next. le gestionnaire des lecteurs est introduit pour assurer l’entrée en section critique de tous les lecteurs successifs. De même, le gestionnaire des lecteurs garde le jeton partagé tant qu’au moins un lecteur est en section critique. Dans tous les cas de figure, l’implantation de notre approche garantit une complexité logarithmique de l’ordre de O(log(n)) messages par requête. Mots-clés : verrou repartie, verrous lecture/écriture, verrouillage dynamique ha l-0 06 41 06 8, v er si on 1 15 N ov 2 01 1 A Dynamic Distributed Algorithm for Read Write Locks 3
منابع مشابه
Relaxed Synchronization with Ordered Read-Write Locks
This paper promotes the first stand-alone implementation of our adaptive tool for synchronization ordered read-write locks, ORWL. It provides new synchronization methods for resource oriented parallel or distributed algorithms for which it allows an implicit deadlock-free and equitable control of a protected resource and provides means to couple lock objects and data tightly. A typical applicat...
متن کاملDistributed Lock Management for Mobile Transactions
In a mobile computing environment, a user carrying a portable computer can execute a mobile transaction by submitting the operations of the transaction to distributed data servers from different locations. The mobility of transaction hosts introduces new issues concerning the efficiency of transaction lock management in the distributed data servers. For example, even in a fully replicated datab...
متن کاملAggressive Transactional Boosting
Traditional software transactional memory systems implemented synchronization and recovery by tracking pertransaction memory access. In recent work, we introduced transactional boosting, a methodology whereby performance is improved by forgoing read/write sets and relying on data structure commutativity and abstract locks for synchronization. In this paper, we advocate a new aggressive form of ...
متن کامل6.033 Critique: Eraser
Eraser is a tool for dynamic detection of race conditions in multithreaded programs. It ensures the presence of a consistent locking discipline by checking that shared-memory references are correctly protected by locks. While the system is augmented for certain scenarios, at a high level Eraser maintains a state of whether each variable is accessed by a single thread, multiple read-only threads...
متن کاملTransaction Repair: Full Serializability Without Locks
Transaction Repair is a method for lock-free, scalable transaction processing that achieves full serializability. It demonstrates parallel speedup even in inimical scenarios where all pairs of transactions have significant read-write conflicts. In the transaction repair approach, each transaction runs in complete isolation in a branch of the database; when conflicts occur, we detect and repair ...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2012